Version Control এবং Continuous Integration (CI) সিস্টেমগুলো সফটওয়্যার ডেভেলপমেন্টের অপরিহার্য অংশ। এগুলো কোডের পরিবর্তন ট্র্যাক করতে সাহায্য করে এবং ডেভেলপমেন্ট প্রক্রিয়ার মধ্যে ত্রুটি হ্রাস করতে সহায়ক। Git একটি জনপ্রিয় Version Control System এবং CI সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়াকে আরও মসৃণ এবং দক্ষ করে তোলে।
এখানে, আমরা Git এবং Continuous Integration এর মাধ্যমে CodeIgniter প্রকল্পের কার্যক্রমকে কীভাবে সহজতর এবং আরও কার্যকরী করা যায়, তা আলোচনা করব।
Git একটি distributed version control system (VCS), যা সফটওয়্যার ডেভেলপমেন্টে কোডের ইতিহাস ট্র্যাক করার জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের নিজেদের কাজ এবং দলের কাজ একসাথে পরিচালনা করতে সাহায্য করে।
brew install git
কমান্ড রান করুন।sudo apt-get install git
(Ubuntu/Debian) অথবা sudo yum install git
(CentOS) কমান্ড ব্যবহার করতে পারেন।প্রথমে একটি Git repository তৈরি করতে হবে। CodeIgniter প্রজেক্ট ডিরেক্টরিতে গিয়ে কমান্ড রান করুন:
git init
এটি আপনার প্রজেক্টের ভিতরে একটি .git
ফোল্ডার তৈরি করবে এবং এই ডিরেক্টরি এখন Git দ্বারা ট্র্যাক করা হবে।
git add .
এটি সমস্ত ফাইল এবং পরিবর্তন Git repository-তে যোগ করবে।
git commit -m "Initial commit"
এটি আপনার প্রথম কমিট করবে এবং "Initial commit" বার্তা দেবে।
GitHub, GitLab, বা Bitbucket এ একটি repository তৈরি করে, আপনার লোকাল Git repository-কে remote repository-এর সাথে যুক্ত করুন:
git remote add origin https://github.com/your-username/your-repo.git
git push -u origin master
Git Workflow হল একটি নির্দিষ্ট পদ্ধতি যার মাধ্যমে ডেভেলপাররা তাদের কোডের পরিবর্তন পরিচালনা করেন। সাধারণত এই দুটি ভিন্ন ধরনের ব্রাঞ্চ ব্যবহৃত হয়:
git checkout -b feature/new-feature
এটি একটি নতুন ব্রাঞ্চ তৈরি করবে এবং সেখানে পরিবর্তন করতে শুরু করবে।
git checkout master # master ব্রাঞ্চে চলে যান
git merge feature/new-feature # feature ব্রাঞ্চ মার্জ করুন
git push origin master # master ব্রাঞ্চে পুশ করুন
Continuous Integration (CI) হল একটি উন্নত সফটওয়্যার ডেভেলপমেন্ট পদ্ধতি যেখানে ডেভেলপাররা ছোট ছোট কোড চেঞ্জ করে একটি শেয়ার করা রেপোজিটরিতে নিয়মিত পুশ করেন। প্রতিটি পুশের পরে Automated Build, Test, এবং Deployment চলে, যা ডেভেলপমেন্ট প্রক্রিয়াকে দ্রুত এবং আরও নির্ভরযোগ্য করে তোলে।
কিছু জনপ্রিয় CI tools ব্যবহার করে আপনি CodeIgniter প্রজেক্টের CI প্রক্রিয়া সেটআপ করতে পারেন:
.github/workflows
ডিরেক্টরিতে একটি YAML ফাইল তৈরি করতে হবে, উদাহরণস্বরূপ ci.yml
।name: CodeIgniter CI Workflow
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y unzip
curl -sS https://getcomposer.org/installer | php
php composer.phar install
- name: Run Tests
run: |
php vendor/bin/phpunit --configuration phpunit.xml.dist
এই workflow ফাইলটি GitHub repository-তে প্রতিটি push বা pull request এর জন্য PHP-এ CodeIgniter অ্যাপ্লিকেশনটি বিল্ড করবে এবং PHPUnit ব্যবহার করে স্বয়ংক্রিয় টেস্ট চালাবে।
CodeIgniter প্রকল্পে Continuous Integration সিস্টেমে কনফিগারেশনের জন্য আপনার Unit Tests তৈরি করতে হবে, যাতে CI pipeline প্রক্রিয়া চলাকালীন সেগুলি অটোমেটিকভাবে রান হয়।
composer require --dev phpunit/phpunit
কমান্ড ব্যবহার করে PHPUnit ইনস্টল করুন।app/Tests
ফোল্ডারে টেস্ট ফাইল তৈরি করুন এবং সেগুলিতে আপনার ফাংশনালিটি টেস্ট করুন।use CodeIgniter\Test\CIUnitTestCase;
class ProductTest extends CIUnitTestCase
{
public function testProduct()
{
$product = new \App\Models\ProductModel();
$result = $product->find(1);
$this->assertNotEmpty($result);
}
}
এই প্রক্রিয়াগুলি আপনার কোডের মান এবং ডেভেলপমেন্ট সাইকেলকে আরও দ্রুত এবং নির্ভরযোগ্য করে তোলে।